Viewpoint-Based Testing of Concurrent Components
نویسندگان
چکیده
The use of multiple partial viewpoints is recommended for specification. We believe they also can be useful for devising strategies for testing. In this paper, we use Object-Z to formally specify concurrent Java components from viewpoints based on the separation of application and synchronisation concerns inherent in Java monitors. We then use the Test-Template Framework on the Object-Z viewpoints to devise a strategy for testing the components. When combining the test templates for the different viewpoints we focus on the observable behaviour of the application to systematically derive a practical testing strategy. The Producer-Consumer and Readers-Writers problems are considered as case studies.
منابع مشابه
Dynamic Slicing of Concurrent Programs : Where are We and Where is the Right Way ? ( Extended
Program slicing has been developed as a standard technique used in various software engineering activit ies including program understanding, testing, debugging, maintenance, and complexity measurement. Although both static and dynamic slicing of sequential programs have been applied to software engineering practices, there still are some challenges, problems and issues in slicing concurrent pro...
متن کامل“Design-based components” in developing urban farms from the viewpoint of Tehran’s managers
Urban farms can have the potential to have a great impact on the stability of crowded cities. The purpose of the present study is discovering the effective design-based components in developing urban agriculture in the viewpoint of Tehran’s urban managers. It is assumed that the design-based development of urban agriculture improves economic conditions and also food security for Tehran’s citize...
متن کاملTesting Concurrent Java Components
Testing concurrent systems is notoriously difficult due to problems withnon-determinism and synchronisation. Sequential programs are deter-ministic in nature. That is, for each input to a sequential program, thesame path is executed every time. This is not the case for concurrent pro-grams. Concurrent programs may have many interleavings of concurrentevents giving rise to ma...
متن کاملA method for verifying concurrent Java components based on an analysis of concurrency failures
The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent non-determinism and a number of specific concurrency problems, such as interference and deadlock. In previous work, we have developed the ConAn testing tool for the testing of concurrent Java components. ConAn has been found to be effective at tes...
متن کاملThe Effect of Dual Task Interference on Gait in Aging: Role of Working Memory Components
The purpose of the present study was to investigate the effect of concurrent cognitive tasks activating phonological loop and visuospatial scratchpad of working memory on gait in older adults.12 older adults with the age range of 65-70 years performed walking trials in 3 counterbalanced testing conditions including single walking, walking while performing visuospatial task and walking while per...
متن کامل